1. Field of the Invention
This invention relates generally to the field of computer graphics and, more particularly, to a high performance graphics system.
2. Description of the Related Art
High performance graphics systems may include a floating-point processor (geometry chip) that performs operations such as transformation and lighting, and a rasterization chip that performs operations such as primitive assembly, clipping, and rasterization of primitives.
Graphics APIs support the use of a number of primitives that are composed of vertices such as triangles, quadrangles, and polygons, and sets of primitives such as triangle strips and triangle fans. Most graphics accelerators sub-divide the higher order primitives (strips, fans, quadrangles, and polygons) into triangles and then rasterize the triangles.
Some operations are performed on each vertex, and some operations are performed on assembled triangles. Primitive assembly may be performed in the rasterization chip. This may reduce the amount of data transferred between chips since a vertex may be used in more than one triangle and that vertex need only be transmitted once, but may be reused one or more times. However, primitives requiring clipping would be returned to the geometry chip and may disrupt the efficiency of its processes. Primitive assembly may be performed in the geometry chip instead to enable a more efficient clipping operation. However, this easy access for per-primitive operations (such as clipping) would require more bus bandwidth to send all three vertices for every triangle to the rasterization chip.